package com.ltkj.baseplatform.mapper;

import java.util.List;
import com.ltkj.baseplatform.domain.SerGameType;

/**
 * 赛事分类Mapper接口
 * 
 * @author ruoyi
 * @date 2023-09-13
 */
public interface SerGameTypeMapper 
{
    /**
     * 查询赛事分类
     * 
     * @param id 赛事分类主键
     * @return 赛事分类
     */
    public SerGameType selectSerGameTypeById(Long id);

    /**
     * 查询赛事分类列表
     * 
     * @param serGameType 赛事分类
     * @return 赛事分类集合
     */
    public List<SerGameType> selectSerGameTypeList(SerGameType serGameType);

    /**
     * 新增赛事分类
     * 
     * @param serGameType 赛事分类
     * @return 结果
     */
    public int insertSerGameType(SerGameType serGameType);

    /**
     * 修改赛事分类
     * 
     * @param serGameType 赛事分类
     * @return 结果
     */
    public int updateSerGameType(SerGameType serGameType);

    /**
     * 删除赛事分类
     * 
     * @param id 赛事分类主键
     * @return 结果
     */
    public int deleteSerGameTypeById(Long id);

    /**
     * 批量删除赛事分类
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteSerGameTypeByIds(Long[] ids);

    /**
     * 批量删除赛事分类(逻辑删除)
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
     int deleteSerGameTypeFlagByIds(Long[] ids);

    /**
     * 判断赛事分类名称是否重复（添加数据使用）
     *
     * @param serGameType 赛事分类
     * @return 结果
     */
    int isRepeat(SerGameType serGameType);

    /**
     * 判断赛事分类名称是否重复（修改数据使用）
     *
     * @param serGameType 赛事分类
     * @return 结果
     */
    int isRepeatExcludeSelf(SerGameType serGameType);

    /**
     * 判断赛事分类名称是否重复（修改数据使用）
     *
     * @param typeId 赛事分类
     * @return 结果
     */
    int checkTypeExistData(Long typeId);

    /**
     * 判断赛事分类名称是否重复（修改数据使用）
     *
     * @param typeId 赛事分类
     * @return 结果
     */
    int hasChildByTypeId(Long typeId);
}
